import { searchDict } from '@/api/dict'
import type { DictKeyVal } from '@/types/dict'
import dayjs from 'dayjs'
import { deepCopy } from './token'

/**
 * 格式化字典数据位map
 * @param dict 字典原始数据
 * @returns
 */
export function formatDictMap(dict: DictKeyVal[]) {
  dict = deepCopy(dict)
  const map = new Map<string, string>()
  dict.forEach((d) => {
    map.set(d.key, d.val)
  })
  return map
}
/**
 * 根据字典的 两个字段查询字典
 * 其实本来只需要一个字段就能够保证唯一性的
 * 但是设计的时候多设计了一个字段 唉！
 * @param path 字段path
 * @param type 地段type
 * @returns
 */
export async function getFormatDictMap(path: string, type: string) {
  let data = await searchDict(path, type)
  return formatDictMap(data.data)
}

/**
 * 时间格式化工具 返回的是本地时间
 * @param date 时间
 * @param f
 * @returns
 */
export function dateFormat(date: string, f: string = 'YYYY-MM-DD HH:mm:ss') {
  return dayjs(date).format(f)
}
